package us.mooresr.webtroopmanager.client;

import us.mooresr.webtroopmanager.client.ui.AdminView;
import us.mooresr.webtroopmanager.client.ui.AdminViewImpl;
import us.mooresr.webtroopmanager.client.ui.DashboardView;
import us.mooresr.webtroopmanager.client.ui.DashboardViewImpl;
import us.mooresr.webtroopmanager.client.ui.EditEventView;
import us.mooresr.webtroopmanager.client.ui.EditEventViewImpl;
import us.mooresr.webtroopmanager.client.ui.EditPersonView;
import us.mooresr.webtroopmanager.client.ui.EditPersonViewImpl;
import us.mooresr.webtroopmanager.client.ui.EditRoleView;
import us.mooresr.webtroopmanager.client.ui.EditRoleViewImpl;
import us.mooresr.webtroopmanager.client.ui.EditUserView;
import us.mooresr.webtroopmanager.client.ui.EditUserViewImpl;
import us.mooresr.webtroopmanager.client.ui.EditVehicleView;
import us.mooresr.webtroopmanager.client.ui.EditVehicleViewImpl;
import us.mooresr.webtroopmanager.client.ui.EventDriversView;
import us.mooresr.webtroopmanager.client.ui.EventDriversViewImpl;
import us.mooresr.webtroopmanager.client.ui.EventListView;
import us.mooresr.webtroopmanager.client.ui.EventParticipantsView;
import us.mooresr.webtroopmanager.client.ui.EventParticipantsViewImpl;
import us.mooresr.webtroopmanager.client.ui.ImportView;
import us.mooresr.webtroopmanager.client.ui.ImportViewImpl;
import us.mooresr.webtroopmanager.client.ui.LoginView;
import us.mooresr.webtroopmanager.client.ui.LoginViewImpl;
import us.mooresr.webtroopmanager.client.ui.PeopleListView;
import us.mooresr.webtroopmanager.client.ui.PeopleListViewImpl;
import us.mooresr.webtroopmanager.client.ui.EventListViewImpl;
import us.mooresr.webtroopmanager.client.ui.RegistrationView;
import us.mooresr.webtroopmanager.client.ui.RegistrationViewIpml;
import us.mooresr.webtroopmanager.client.ui.RoleListView;
import us.mooresr.webtroopmanager.client.ui.RoleListViewImpl;
import us.mooresr.webtroopmanager.client.ui.UserListView;
import us.mooresr.webtroopmanager.client.ui.UserListViewImpl;
import us.mooresr.webtroopmanager.client.ui.ValidationView;
import us.mooresr.webtroopmanager.client.ui.ValidationViewImpl;
import us.mooresr.webtroopmanager.client.ui.VehicleListView;
import us.mooresr.webtroopmanager.client.ui.VehicleListViewImpl;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.SimpleEventBus;
import com.google.gwt.place.shared.PlaceController;





public class ClientFactoryImpl implements ClientFactory {


	private final EventBus eventBus = new SimpleEventBus();
	private final PlaceController placeController = new PlaceController(eventBus);
	private final DashboardView dashboardView = new DashboardViewImpl();
	private final PeopleListView peopleListView = new PeopleListViewImpl();
	private final EventListView eventListView = new EventListViewImpl();
	private final VehicleListView vehicleListView = new VehicleListViewImpl();
	private final EditPersonView editPersonView = new EditPersonViewImpl();
	private final EditEventView editEventView = new EditEventViewImpl();
	private final LoginView loginView = new LoginViewImpl();
	private final AdminView adminView = new AdminViewImpl();
	private final SecurityManager securityManager = new SecurityManager(eventBus);
	private final EditVehicleView editVehicleView = new EditVehicleViewImpl();
	private final EventDriversView eventDriversView = new EventDriversViewImpl();
	private final EventParticipantsView eventParticipantsView = new EventParticipantsViewImpl();
	private final RegistrationView registrationView = new RegistrationViewIpml();
	private final ValidationView validationView = new ValidationViewImpl();
	private final EditRoleView editRoleView = new EditRoleViewImpl();
	private final RoleListView roleListView = new RoleListViewImpl();
	private final UserListView userListView = new UserListViewImpl();
	private final EditUserView editUserView = new EditUserViewImpl();
	private final ImportView importView = new ImportViewImpl();

	@Override
	public EventBus getEventBus() {
		return eventBus ;
	}

	@Override
	public PlaceController getPlaceController() {
		return placeController;
	}

	@Override
	public DashboardView getDashboardView() {
		return dashboardView;
	}
	
	@Override
	public PeopleListView getPeopleListView() {
		return peopleListView;
	}

	@Override
	public EventListView getEventListView() {
		return eventListView;
	}

	@Override
	public VehicleListView getVehicleListView() {
		return vehicleListView;
	}

	@Override
	public EditPersonView getEditPersonView() {
		return editPersonView;
	}

	@Override
	public EditEventView getEditEventView() {
		return editEventView;
	}

	@Override
	public LoginView getLoginView() {
		return loginView;
	}

	@Override
	public SecurityManager getSecurityManager() {
		return securityManager;
	}

	@Override
	public AdminView getAdminView() {
		return adminView;
	}

	@Override
	public EditVehicleView getEditVehicleView() {
		return editVehicleView;
	}

	@Override
	public EventDriversView getEventDriversView() {
		return eventDriversView;
	}

	@Override
	public EventParticipantsView getEventParticipantsView() {
		return eventParticipantsView;
	}

	@Override
	public RegistrationView getRegistrationView() {
		return registrationView;
	}

	@Override
	public ValidationView getValidationView() {
		// TODO Auto-generated method stub
		return validationView;
	}

	@Override
	public EditRoleView getEditRoleView() {
		return editRoleView;
	}

	@Override
	public RoleListView getRoleListView() {
		return roleListView;
	}

	@Override
	public UserListView getUserListView() {
		return userListView;
	}

	@Override
	public EditUserView getEditUserView() {
		return editUserView;
	}
	
	@Override
	public ImportView getImportView() {
		return importView;
	}
	


}
